package com.txby.platformCore.data.shop;

import java.util.Arrays;
import java.util.HashMap;
import java.util.List;

import lombok.Data;

/**
 * 自定义微信查询订单返回模型
 * 
 * @ClassName: AliOrderQueryCusReturnModel
 * @Description: TODO(这里用一句话描述这个类的作用)
 * @author jacking
 * @date 2017年11月17日 上午10:01:40
 *
 */
@Data
public class AliOrderQueryCusReturnModel extends HashMap<String, Object> {
	public static List<String> tradeStatusList = Arrays.asList("WAIT_BUYER_PAY", "TRADE_CLOSED", "TRADE_SUCCESS",
			"TRADE_FINISHED");
	/**
	 * 订单号
	 */
	private String out_trade_no;
	/**
	 * 交易状态 WAIT_BUYER_PAY（交易创建，等待买家付款） TRADE_CLOSED（未付款交易超时关闭，或支付完成后全额退款）
	 * TRADE_SUCCESS（交易支付成功） TRADE_FINISHED（交易结束，不可退款）
	 */
	private String trade_status;
	/**
	 * 网关返回描述信息
	 */
	private String msg;

	/**
	 * 网关返回码
	 */
	private String code;
	/**
	 * 是否返回成功标识
	 */
	private boolean isOK;

	/**
	 * @return isOK
	 */
	public boolean isOK() {
		return code != null && code.equals("10000");
	}

	public AliOrderQueryCusReturnModel() {
	}

	/**
	 * @return out_trade_no
	 */
	public String getOut_trade_no() {
		return super.get("out_trade_no") == null ? out_trade_no : super.get("out_trade_no").toString();
	}

	/**
	 * @param out_trade_no
	 *            要设置的 out_trade_no
	 */
	public void setOut_trade_no(String out_trade_no) {
		put("out_trade_no", out_trade_no);
		this.out_trade_no = out_trade_no;
	}

	/**
	 * @return trade_status
	 */
	public String getTrade_status() {
		return super.get("trade_status") == null ? trade_status : super.get("trade_status").toString();
	}

	/**
	 * @param trade_status
	 *            要设置的 trade_status
	 */
	public void setTrade_status(String trade_status) {
		this.trade_status = trade_status;
		put("trade_status", trade_status);
	}

	/**
	 * @return msg
	 */
	public String getMsg() {
		return super.get("msg") == null ? msg : super.get("msg").toString();
	}

	/**
	 * @param msg
	 *            要设置的 msg
	 */
	public void setMsg(String msg) {
		this.msg = msg;
		put("msg", msg);
	}

	/**
	 * @return code
	 */
	public String getCode() {
		return super.get("code") == null ? code : super.get("code").toString();
	}

	/**
	 * @param code
	 *            要设置的 code
	 */
	public void setCode(String code) {
		this.code = code;
		put("code", code);
	}

	/**
	 * @param isOK
	 *            要设置的 isOK
	 */
	public void setOK(boolean isOK) {
		this.isOK = isOK;
		put("isOK", isOK);
	}

}
